This repository has been archived by the owner on Aug 2, 2022. It is now read-only.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change Description
unapplied_transaction_queue
used to have aprocess_mode
where it would not store aborted or forked-out transactions when in knew that the node would never produce a block. This was an optimization because there seemed to be no reason to cache aborted or forked-out transactions. Since the trx has been validated locally and will not be validated again, why keep it around? If you are producing you need to keep it so on a fork-switch the trxs are not lost. But there seemed to be no reason to keep them for speculative mode. However, theunapplied_transaction_queue
is also used when validating a block to look up already validated and constructedtransaction_metadata
. Keeping the already validated trxs in the queue allows for faster validation of received blocks for all the transactions already received by the node.last-block-time-offset-us
which doesn't really make any sense since the block is only speculative and will not be broadcast on the network. With this PR, all speculative blocks use theproduce-time-offset-us
including the 12th block.Change Type
Select ONE
Consensus Changes
API Changes
Documentation Additions